教你如何做视频推拉流

您所在的位置:网站首页 nginx 中转 教你如何做视频推拉流

教你如何做视频推拉流

#教你如何做视频推拉流| 来源: 网络整理| 查看: 265

一 首先了解下RTMP

实时消息传输协议,基于TCP,为Flash播放器和服务器之间做音视频数据传输的协议。由于其实时性和高品质,普遍应用于直播服务。使用这种协议做视频播放就需要安装Flash,而ios,Android等移动端并不能原生支持Flash,使得不适用于移动端。

二 如何在Linux上搭建rtmp server

下载nginx,地址http://nginx.org

下载nginx-rtmp-module,地址https://github.com/arut/nginx-rtmp-module

下载open-ssl,地址https://github.com/openssl/openssl

进入nginx主目录,设置编译配置

./configure --prefix=/user/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module --without-http_rewrite_module --with-openssl=../openssl --without-http_gzip_module

编译安装

make && make install

配置参数

vi /user/local/nginx/conf/nginx.conf

增加,

rtmp {

server {

listen 1935;

chunk_size 4000;

application live {

live on; # 启动rtmp直播

record off; # 关闭录制

}

}

}

还可以设置权限安全,在server{}或者application{}配置块中添加推拉流限制规则

配置在server内,则对块内所有application生效

配置在application内,则只影响这一个application

示例:

允许127.0.0.1推流到服务器,但拒绝其他任何来源

allow publish 127.0.0.1;

deny publish all;

允许其他任何来源拉流,但是除了127.0.0.1

allow play all;

deny play 127.0.0.1;

这种配置很有用,特别是能避免其他人推流,否则数据就混乱了。

另外,还可以配置转接推到其他rtmp流

在application块,将接收到的流推到另一个地址,如果有串流秘钥,只需要将秘钥添加到推流地址后面即可,如

push rtmp://192.168.67.43:1935/live/mykey

这个功能可以用于做代理,解决某些场景下节点网络不通,需要中间节点中转的情形。

修改配置文件后,可以将原有进程杀死,然后在/user/local/nginx/sbin 目录下,执行

./nginx -c /user/local/nginx/conf/nginx.conf 重启

验证nginx是否启动正常,可以直接在web上输入http://{server_ip},显示Welcome to nginx!则为正常。

到这里为止,rtmp server已经搭建,外部访问地址为:rtmp://{server_ip}:1935/live

三 如何推流

可以在另一台机器上,包括Windows系统,推送rtmp音视频流到rtmp server

具体地,

首先在本地windows机器上安装ffmpeg,下载安装包解压即可

以本地视频文件carfire为例,可以将一个视频文件内容循环推送到rtmp server,如:

ffmpeg -stream_loop -1 -re -i carfire.mp4 -vcodec copy -acodec acc -ar 44100 -f flv rtmp://{server_ip}:1935/live

其中

i 设定输入流

f 指定输出格式,rtmp的封装格式为flv

acodec 设定音频编码器,rtmp使用acc编码音频

ar 设定音频采样率,44100Hz为CD音质界线

vcodec 如果输入流使用的就是H.264视频编码,则使用copy 表示和输入流一致,否则要写为libx264,rtmp使用H.264进行视频编码

stream_loop 循环读取 -1表示无限循环

re 将输入流的读取速率降低到输入的本地帧速率,避免读取过快出现直播时跳帧

四 如何拉流播放

可以在同一台windows机器上,安装VLC播放器,页面点击媒体->打开网络串流,将rtmp的拉流地址复制进去即可



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3